/**
 * 项目名：化工企业安全生产信息化管理平台
 * 日期：    2020-03-17 15:16:59
 * Copyright (c) 2015- -版权所有
 */

package com.joysuch.wwyt.edu.bean;

import cn.zlg.common.springmvc.validate.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import java.time.LocalTime;
import java.util.List;

@Data
public class EduCertificateEditBean implements java.io.Serializable {

    // columns START
    // ID
    private Long id;
    // 名称
    @NotNull(field = "名称")
    @Length(max = 100)
    private String name;
    // 编号
    @Length(max = 30)
    private String code;
    // 证书有效期类型 0 定期有效; 1 永久有效
    @NotNull(field = "证书有效期类型")
    @Min(value = 0)
    @Max(value = 1)
    private Byte effectiveType;
    private String effectiveTypeName;
    // 培训有效期（月）
    private Integer effectiveDurationMonth;
    // 状态
    private Byte state;
    //是否到期提醒 0 否 ; 1 是
    @Range(min = 0, max = 1)
    private Integer expireRemindOrNot;
    //到期提醒类型
    private String remindType;
    //提醒时间
    @JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8")
    private LocalTime remindTime;
    //提醒人和部门互斥
    //提醒人可以多个
    private List<Long> remindUserIds;
    private List<EduCertEditUserNameBean> userNames;
    //提醒部门
    private Long departId;
    private EduCertEditUserNameBean departName;
    //0 人员; 1 部门
    private Integer userDepartFlag;
    // columns END

    @ApiModelProperty("证书类型--数据字典维护")
    private Long certTypeId;
    @ApiModelProperty("证书类型名称")
    private String certTypeName;
    @ApiModelProperty("发证机构")
    private String releaseOrganization;

}
